#include <stdio.h>
#include <unistd.h>
#include <sys/mman.h>
#include "../inc/lcd.h"
#include "../inc/list.h"
#include "../inc/dir.h"


int main(int argc, char const *argv[])
{
	// 初始化显示器
	lcdInfo * lcd = InitLCD(  );
	if (lcd == NULL)
	{
		printf("显示器初始化失败..\n");
		return -1 ;
	}
	// 触摸屏初始化
	int fd_ts = InitTs() ;
	// 初始化链表
	P_Node_t bmpList = InitNewNode( NULL );

	// 遍历指定目录获取链表
	DirRetrieval( "./" , ".bmp" , bmpList ) ;

	// 显示图像
	P_Node_t tmp = bmpList->Next ;
	int x  , y ;
	while (1)
	{
		getXY( fd_ts , &x , &y);

		if (x < 0)
		{
			printf("右滑上一张\n");
			tmp = tmp->Prev ;
			if (tmp == bmpList)
			{
				tmp = tmp->Prev;
			}
			
		}
		else if (x >= 0)
		{
			printf("左滑下一张\n");
			tmp = tmp->Next ;
			if (tmp == bmpList)
			{
				tmp = tmp->Next;
			}
		}
		
		ShowBmp( lcd , tmp->Data.FilePath , 0 , 0 );
		
	}
	
	// 销毁资源
	close(lcd->fd);
	munmap( lcd->map , lcd->lcdSize );
	
	return 0;
}
